Release 10.1A: OpenEdge Development:
Progress Dynamics Advanced Development
Using the Dynamic property sheet to set properties
You can also set properties in the new dynamic properties sheet by selecting it from the AppBuilder’s Window menu. This shows all properties for the selected object and lets you set properties for it or select other objects in the same container. Figure 3–5 shows some of the properties for the
CustNumfield in thecustomerviewvviewer.Figure 3–5: Dynamic properties sheet
![]()
This property sheet is described in detail in OpenEdge Development: Progress Dynamics Basic Development , but it is useful to point out a few things in this example:
- If you look at the
ShowPopupattribute, you see that its value isNo. The row is not marked by an asterisk (*) or check mark in the first column, which means that the value was not modified for this instance. This is a value inherited either from the class for the object type or (as in this case) from the master object. Because you changed the value for theCustNumfield in the Repository Maintenance tool, that modified master value is inherited by this instance.- If you look at other attributes, you can see that some of them have been overridden or set specifically for this instance, including the
Order(indicating that theCustNumfield is the first field in the tab order for the viewer), the row it is displayed in, and theRowObjectTableNameused because the viewer is derived from an SDO. These are all attribute values that were set automatically when the instance of the viewer was created in the window, but they are still different from the master values, and so they show as overrides. In addition, theRead-Onlyattribute isYes, and this is also shown as an override. This is because we set the attribute value in the standard AppBuilder property sheet for the field.- If you double-click on the viewer itself, outside any field, or select the Object Properties button
in the AppBuilder toolbar, then the viewer’s property sheet shown in Figure 3–6 appears.
Figure 3–6: viewer property sheet
![]()
Here you can set properties that apply to the viewer itself. Because you are doing this in the viewer’s design window, you are setting these attributes at the master level (there’s no higher level for this
customerviewvviewer). Here, for instance, you can turn theShow-Popupattribute off for the viewer, because this attribute is supported both for individual fill-ins and for viewers. If you set it toFALSEfor the viewer, this removes all pop-up buttons for all fields in the viewer.- You can also set this property in the dynamic property sheet in the same way you did for the
CustNumfield. By contrast, you can set the attribute toFALSEfor the viewer just when used in theoemaintwinwindow by bringing up the dynamic property sheet in the Container Builder foroemaintwin. When you do this you are editing a specific container that uses the viewer, so any attributes you set for the viewer are set only for this instance of its use.So to summarize, the level at which you set attributes depends not on the tool you are using, but on the context of where you are using it.
If you create or edit a viewer in the AppBuilder and set one or more viewer attributes, either in the viewer property sheet provided by the AppBuilder or in the dynamic property sheet you can run from it, you are setting attributes at the master level for the object you are creating.
If you define attributes for a
DataFieldobject in the Repository Maintenance tool, you are also doing it at the master level for all uses of the field.On the other hand, if you bring up the custom property sheet in the AppBuilder for a field or widget of a specific type, such as the one you saw for the
CustNumfield, you are defining attributes of that field as used in that particular viewer. So you are defining attribute values at the instance level. Any such settings will be seen only in the context of the viewer you are editing.Likewise, if you use the dynamic property sheet to define attribute values for fields in a viewer, the same thing is true: you are defining instance attribute values.
To move the discussion up a level in the object hierarchy, if you are creating a container window in the Container Builder, you can click the Container Properties button to set property values for the window itself, as shown:
![]()
These are values at the master level, because you are defining property values for the window you are currently creating:
![]()
On the other hand, if you bring up the property sheet for one of the viewers or other objects you place into the container, then you are defining values at the instance level for the object.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |